home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
hity wydania
/
trueSpace 7.6
/
tS761B8Std.exe
/
{app}
/
Scripts
/
MaterialEditor
/
BricksHidden
/
DirectPS_Shadow.Brick.xml
< prev
next >
Wrap
Extensible Markup Language
|
2008-06-10
|
2KB
|
27 lines
<?xml version="1.0" encoding="utf-8" ?>
<ME_BRICK GUID="{CC5C3F2B-EE6A-4034-A2BD-B9195312709A}" Name="RtUDirlightPS2Shadow" GUIName="Shadowed dirlight-Pixel2" Description="Shadowed dirlight pixel 2 shader part">
<ME_BRICK_INPUTPARAM GUID="{31526A0C-6A8C-4AD3-AF1B-46020BD87FFC}" Name="SpotTexture" Type="RtSampler2D"/>
<ME_BRICK_INPUTPARAM GUID="{6B222718-3C49-4E2C-8D2A-81853D79B3AE}" Name="ColorTone" Type="RtFloat4"/>
<ME_BRICK_INPUTPARAM GUID="{2FA0687A-1DC2-40D1-B22A-049DF9DC5BEC}" Name="VSLightColor" Type="RtFloat4"/>
<ME_BRICK_INPUTPARAM GUID="{7A2AF1DB-DAF0-4D94-BAF1-C848CCC464DC}" Name="DepthTexture" Type="RtSampler2D"/>
<ME_BRICK_OUTPUTPARAM GUID="{DA1ED699-4FAC-4BDE-AD73-10AE55290C91}" Name="LightColor" Type="RtFloat4"/>
<ME_BRICK_CODE><![CDATA[
//The Dirlight PS method
void RtUDirlightPS2Shadow(in RtSampler2D SpotTexture, in RtFloat4 ColorTone, in RtFloat4 VSLightColor,
in RtSampler2D DepthTexture,
out RtFloat4 LightColor)
{
if (VSLightColor.z<0)
LightColor = float4(0,0,0,0);
else {
float fCurrDepth = VSLightColor.z / VSLightColor.w;
float4 vMapColor = rtx_Tex2D(SpotTexture, saturate(VSLightColor)) * ColorTone;
float4 vShadow = rtx_Tex2D(DepthTexture, saturate(VSLightColor));
float4 vTmp = float4(1.0f, 1.0f/256.0f, 1.0f/256.0f/256.0f, 1.0f/256.0f);
float fMapDepth = rtx_Dot(vShadow, vTmp); //A clever way to sum four numbers
LightColor = (fCurrDepth <= fMapDepth) ? vMapColor : float4(0,0,0,0);
}
}
]]></ME_BRICK_CODE>
</ME_BRICK>